""" 
布局管理器
几何管理
Tkinter控件有特定的几何状态管理方法，管理整个控件区域组织，
以下是Tkinter公开的几何管理类：包、网格、位置

几何方法	     描述     备注
pack()	      包装     于grid相比是简单布局，如果要进行复杂布局需要结合Frame框架组件或者grid布局管理器实现。同一个父组件里面，不要pack和grid混用。 
grid()	      网格
place()	      位置

总结：
pack：按照组件放置的前后顺序从上到下排列。
grid：是格子的意思，它是按照行和列的方式来排列。
place：允许通过程序指定组件的绝对位置或者相对于其他组件的位置。
"""

''' 
网格

网格经理组织 (几何) 的微件的列表形式。
我们可以指定行和列的选项中的方法调用。
我们还可以指定列的宽度 (跨度) 或高度 (rowspan) 的微件。

这是一个更有组织的方式来将微件的 Python 应用。

语法
widget.grid (选项)

参数如下：
(1) sticky可选的值：N/S/E/W/NW/NE/SW/SE，分别代表上/下/左/右。
    sticky=E表示靠右显示。

(2) columnspan合并列

以下是实例：
'''

from tkinter import *

root = Tk()
root.title("grid")
root.geometry("600x600")

Label(root, text="账号").grid(row=0, column=0)
Label(root, text="密码").grid(row=1, column=0)

Entry(root).grid(row=0, column=1)
Entry(root, show="*").grid(row=1, column=1)


Label(root, text="成绩", bg="green").grid(row=2, column=0, columnspan=2)
Label(root, text="评价", bg="green").grid(row=2, column=2)

Label(root, text="语文", bg="green").grid(row=3, column=0)
Label(root, text="95", bg="green").grid(row=3, column=1)
Label(root, text="优", bg="green").grid(row=3, column=2, rowspan=2)

Label(root, text="数学", bg="green").grid(row=4, column=0)
Label(root, text="99", bg="green").grid(row=4, column=1)


root.mainloop()
